home *** CD-ROM | disk | FTP | other *** search
/ Sprite 1984 - 1993 / Sprite 1984 - 1993.iso / src / X11R4 / cmds / X / dix / BuiltInAtoms < prev    next >
Encoding:
Text File  |  1988-02-26  |  10.3 KB  |  330 lines

  1. File: .../x11/server/dix/BuiltInAtoms
  2.  
  3. This file is of a fixed format and is used to generate both the file
  4. include/XAtom.h and dix/initatoms.c. Neither of those files should be
  5. edited directly. Changing the atoms in this file, or even the order in
  6. which they occur, is equivalent to forcing a new (minor) version number
  7. on the server. Take care.
  8.  
  9. The format of the file is that each built in atom starts in column 1
  10. with no text, other than spaces and tabs, on that line other than a
  11. mandatory trailing "@" at the end of the line. For each atom (Foo)
  12. below the defines will be of the form
  13.     #define XA_Foo <n>
  14. and the string value of the atom will be "Foo".
  15.  
  16. The comment lines in this file are not guaranteed to be accurate. To see the
  17. current truth, look at the Xlib documentation as well as the protocol spec.
  18.  
  19. Atoms occur in five distinct name spaces within the protocol. Any particular
  20. atom may or may not have some client interpretation within each of the name
  21. spaces. For each of the built in atoms, the intended semantics and the space
  22. within which it is defined is indicated.
  23.  
  24. Those name spaces are
  25.     Property names
  26.     Property types
  27.     Selections
  28.     Font properties
  29.     Type of a ClientMessage event    (none built into server)
  30.  
  31. For the font properties mentioned here, see the spec for more information.
  32.  
  33.                 -- Selections --
  34.  
  35. PRIMARY                                          @
  36.     Selection.
  37. SECONDARY                                      @
  38.     Selection.
  39.  
  40.             -- Property types and names --
  41.  
  42. ARC                                          @
  43.     Property type:
  44.         x, y: INT16
  45.         width, height: CARD16,
  46.         angle1, angle2: INT16
  47. ATOM                                          @
  48.     Property type:
  49.         atom: ATOM
  50. BITMAP                                          @
  51.     Property type:
  52.         bitmap: PIXMAP
  53.             This is asserted to be of depth 1.
  54. CARDINAL                                      @
  55.     Property type:
  56.         card: CARD32 or CARD16 or CARD8
  57.         the datum size is dependent on the property format
  58. COLORMAP                                      @
  59.     Property type:
  60.         colormap: COLORMAP
  61. CURSOR                                          @
  62.     Property type:
  63.         cursor: CURSOR
  64. CUT_BUFFER0                                      @
  65. CUT_BUFFER1                                      @
  66. CUT_BUFFER2                                      @
  67. CUT_BUFFER3                                      @
  68. CUT_BUFFER4                                      @
  69. CUT_BUFFER5                                      @
  70. CUT_BUFFER6                                      @
  71. CUT_BUFFER7                                      @
  72.     Property name:    (type: STRING)
  73.         Used to implement cut buffer ring, in particular Andrew uses
  74.         this mechanism.  Anyone else using this sort of IPC mechanism
  75.         should use these properties.
  76.  
  77.         Data is normally fetched and stored out of CUT_BUFFER0; the
  78.         RotateProperties request is used to rotate these buffers.
  79. DRAWABLE                                      @
  80.     Property type:
  81.         drawable: DRAWABLE
  82. FONT                                          @
  83.     Property type:
  84.         font: FONT
  85. INTEGER                                          @
  86.     Property type:
  87.         card: INT32 or INT16 or INT8
  88.         the datum size is dependent on the property format
  89. PIXMAP                                          @
  90.     Property type:
  91.         pixmap: PIXMAP
  92. POINT                                          @
  93.     Property type:
  94.         x, y: INT16
  95. RECTANGLE                                      @
  96.     Property type:
  97.         x, y: INT16
  98.         width, height: CARD16
  99. RESOURCE_MANAGER                                  @
  100.     Property name: (type: STRING)
  101.         Contents of the user's resource manager data base.
  102. RGB_COLOR_MAP                                      @
  103.     Property type:
  104.         colormap:    COLORMAP
  105.         red-max:    CARD32
  106.         red-mult:    CARD32
  107.         green-max:    CARD32
  108.         green-mult:    CARD32
  109.         blue-max:    CARD32
  110.         blue-mult:    CARD32
  111.         base-pixel:    CARD32
  112.  
  113.     The fields `red_max', `green_max', and `blue_max' give the maximum
  114.     red, green, and blue values, respectively.  Each color
  115.     coefficient ranges from 0 to its max, inclusive.  For example,
  116.     a common colormap allocation is 3/3/2:  3 planes for red, 3
  117.     planes for green, and 2 planes for blue.  Such a colormap would
  118.     have red_max == 7, green_max = 7, and blue_max = 3.  An alternate
  119.     allocation that uses only 216 colors is red_max = 5, green_max =
  120.     5, and blue_max = 5.
  121.  
  122.     The fields `red_mult', `green_mult', and `blue_mult' give the
  123.     scale factors used to compose a full pixel value.  (See next
  124.     paragraph.)  For a 3/3/2 allocation red_mult might be 32,
  125.     green_mult might be 4, and blue_mult might be 1.  For a
  126.     6-colors-each allocation, red_mult might be 36, green_mult might
  127.     be 6, and blue_mult might be 1.
  128.  
  129.     The field `base_pixel' gives the base pixel value used to
  130.     compose a full pixel value.  Normally base_pixel is obtained
  131.     from a call to XAllocColorPlanes().  Given integer red, green,
  132.     and blue coefficients in their appropriate ranges, one can
  133.     compute a corresponding pixel value with the expression:
  134.  
  135.         r * red_mult + g * green_mult + b * blue_mult + base_pixel
  136.     
  137.     For gray-scale colormaps, only the colormap, red_max, red_mult,
  138.     and base_pixel fields are defined; the other fields are
  139.     ignored.  To compute a gray-scale pixel value, use:
  140.  
  141.         gray * red_mult + base_pixel
  142.  
  143.     This is provided to allow applications to share color maps.
  144.  
  145. RGB_BEST_MAP                                      @
  146. RGB_BLUE_MAP                                      @
  147. RGB_DEFAULT_MAP                                      @
  148. RGB_GRAY_MAP                                      @
  149. RGB_GREEN_MAP                                      @
  150. RGB_RED_MAP                                      @
  151.     Property name:    (type: RGB_COLOR_MAP)
  152.         The needs of most applications can be met with five colormaps.
  153.         Polite applications may need only a small RGB space, and can
  154.         use a portion of the default color map. Applications doing
  155.         high-quality RGB rendering will need an entire colormap,
  156.         filled with as large an RGB space as possible, e.g. 332. For
  157.         color separations, an application may need maximum device
  158.         resolution for each of red, green, and blue, even if this
  159.         requires three renderings with three colormaps.
  160.  
  161.         Each of the above five names would be used for sharing color
  162.         maps.
  163. STRING                                          @
  164.     Property type:
  165.         sequence of Bytes
  166. VISUALID                                      @
  167.     Property type:
  168.         visual: VISUALID
  169. WINDOW                                          @
  170.     Property type:
  171.         window: WINDOW
  172. WM_COMMAND                                      @
  173.     Property name: (type: STRING)
  174.         Command line arguments used to invoke this application. The
  175.         arguments are delimited by null characters (ASCII 0).
  176. WM_HINTS                                      @
  177.     Property type:
  178.         flags:        CARD32
  179.         input:        BOOL32
  180.         initial-state:    CARD32
  181.         icon-pixmap:    PIXMAP
  182.         icon-window:    WINDOW
  183.         icon_mask:    BITMAP
  184.         icon-x, icon-y:    INT32
  185.             flags contains the following bits
  186.             0x00000001    input hint
  187.             0x00000002    state hint
  188.             0x00000004    icon pixmap hint
  189.             0x00000008    icon window hint
  190.             0x00000010    icon position hint
  191.              values for initial-state
  192.             0        unspecified -> application does not
  193.                 care and WM should pick one.
  194.             1        normal
  195.             2        zoomed
  196.             3        iconic
  197.             4        inactive -> application believes
  198.                 itself to be seldomly used. WM may wish to
  199.                 place it on an inactive menu.
  200.         This type is potentially extensible. The order is critical;
  201.         append to the end only.
  202.     Property name:    (type: WM_HINTS)
  203.         Additional hints set by the client for use by the window
  204.         manager.
  205. WM_CLIENT_MACHINE                                  @
  206.     Property name:    (type: STRING)
  207.         used to communicate with the window manager.  The host name
  208.         of the machine the client is running on may be set here.
  209. WM_ICON_NAME                                      @
  210.     Property name:    (type: STRING)
  211.         what the application would like the label to be for
  212.         the iconic form of the window.
  213. WM_ICON_SIZE                                      @
  214.     Property type:
  215.         minWidth, min-height:    CARD32
  216.         maxWidth, max-height:    CARD32
  217.         widthInc, height-inc:    CARD32
  218.     Property name:    (type: ICON_SIZE)
  219.         The window manager may set this property on the root window
  220.         to specify the icon sizes it allows.
  221. WM_NAME                                          @
  222.     Property name:    (type: STRING)
  223.         used to communicate with the window manager. This is
  224.         what the application would like the label for the window.
  225. WM_NORMAL_HINTS                                      @
  226.     Property name:    (type: SIZE_HINTS)
  227.         used to communicate with the window manager. This is size
  228.         hints for a window in its "normal" state.
  229. WM_SIZE_HINTS                                      @
  230.     Property type:
  231.         flags:                CARD32
  232.         x, y:                INT32
  233.         width, height:            CARD32
  234.         min-width, min-height:        CARD32
  235.         max-width, max-height:        CARD32
  236.         width-inc, height-inc:        CARD32
  237.         min-aspect-x, min-aspect-y:    CARD32
  238.         max-aspect-x, max-aspect-y:    CARD32
  239.             flags contains the following bits
  240.             0x00000001    user specified x and y
  241.             0x00000002    user specified width and height
  242.             0x00000004    program specified position
  243.             0x00000008    program specified size
  244.             0x00000010    program specified minimum size
  245.             0x00000020    program specified maximum size
  246.             0x00000040    program specified resize increment
  247.             0x00000080    program specified aspect ratio
  248.         This type is potentially extensible. The order is critical;
  249.         append to the end only.
  250. WM_ZOOM_HINTS                                      @
  251.     Property name:    (type: SIZE_HINTS)
  252.         used to communicate with the window manager. This is size
  253.         hints for a window in its "zoomed" state.
  254.  
  255.                 -- Font properties --
  256.  
  257. MIN_SPACE                                       @
  258.     Font property: CARD32
  259. NORM_SPACE                                       @
  260.     Font property: CARD32
  261. MAX_SPACE                                       @
  262.     Font property: CARD32
  263. END_SPACE                                       @
  264.     Font property: CARD32
  265. SUPERSCRIPT_X                                       @
  266.     Font property: INT32
  267. SUPERSCRIPT_Y                                       @
  268.     Font property: INT32
  269. SUBSCRIPT_X                                       @
  270.     Font property: INT32
  271. SUBSCRIPT_Y                                       @
  272.     Font property: INT32
  273. UNDERLINE_POSITION                                   @
  274.     Font property: INT32
  275. UNDERLINE_THICKNESS                                   @
  276.     Font property: CARD32    
  277. STRIKEOUT_ASCENT                                   @
  278.     Font property: INT32
  279. STRIKEOUT_DESCENT                                   @
  280.     Font property: INT32
  281. ITALIC_ANGLE                                       @
  282.     Font property: INT32
  283. X_HEIGHT                                       @
  284.     Font property: INT32
  285. QUAD_WIDTH                                       @
  286.     Font property: INT32
  287. WEIGHT                                           @
  288.     Font property: CARD32
  289. POINT_SIZE                                       @
  290.     Font property: CARD32
  291. RESOLUTION                                       @
  292.     Font property: CARD32
  293.  
  294. The following optional properties on fonts have values that are atoms. The
  295. atom print name is the useful information.
  296.  
  297. COPYRIGHT                                       @
  298.     of the font distribution
  299. NOTICE                                          @
  300.     trademark/copyright of the character shapes
  301. FONT_NAME                                       @
  302.     name of this particular instance of a font
  303. FAMILY_NAME                                       @
  304.     name of the 'font family' to which it belongs
  305. FULL_NAME                                       @
  306.     full text name of the font
  307.  
  308. The following aren't in order but putting them at the end avoids encoding
  309. changes.
  310.  
  311. CAP_HEIGHT                                       @
  312.     Font property: CARD32
  313.  
  314.  
  315. WM_CLASS                                       @
  316.     Property name: (type: STRING)
  317.         Used (possibly by some window managers; definitely by 
  318.         session managers) to look up resources in the resource 
  319.         data base on behalf of the client who set this property.
  320.         There are 2 elements:
  321.             {char *resource_name; char *resource_class;}
  322.         delimited by a null character (ascii 0)
  323.  
  324. WM_TRANSIENT_FOR                                  @
  325.     Property name: (type: WINDOW)
  326.         Used by transient top-level windows, such as dialog 
  327.         boxes, to point to their logical "parents".  The window 
  328.         manager can then take down the dialog boxes when the
  329.         "parent" gets iconified, for instance.
  330.